OpenStack Nova(1)
雖然我前幾天有講過Nova但那時候我是以虛擬化的方式來介紹OpenStack,今天則是從安裝面來去慢慢探討他,那蠻多在前面講過的我就先跳過了。
從組件來說分成四類Service,Moudle,Deamon,Client加上兩格外部程式
Service又分成4類
Moudule又分成2類
Demon又分成6類
Client只有一個項目
Message使用的是AMQP的訊息傳送模式
這邊使用的是RabbitMQ
詳細之後有時間會詳談
最後就是Database
基本上連線到MySQL沒甚麼好說的
1.登入資料庫
sudo mysql -u root -p
2.建立資料表(給兩個程式用的)
CREATE DATABASE nova_api;
CREATE DATABASE nova;
3.設定安全性
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA資料庫密碼';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA資料庫密碼';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA資料庫密碼';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA資料庫密碼';
1.登入admin使用者指令模式
2.建立使用者
openstack user create --domain default --password-prompt nova
3.將nova加進Service群組中
openstack role add --project service --user nova admin
4.建立nova的service服務
openstack service create --name nova --description "OpenStack Compute" compute
5.建立安全性
openstack endpoint create --region RegionOne compute \
public http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute \
internal http://controller:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute \
admin http://controller:8774/v2.1/%\(tenant_id\)s
1.安裝程式
sudo apt install nova-api nova-conductor nova-consoleauth nova-novncproxy nova-scheduler
2.編輯nova.conf設定檔
vim /etc/nova/nova.conf
[DEFAULT]
transport_url = rabbit://openstack:RABBIT密碼@controller
auth_strategy = keystone
my_ip = 10.0.0.11
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[api_database]
connection = mysql+pymysql://nova:NOVA資料庫密碼@controller/nova_api
[database]
connection = mysql+pymysql://nova:NOVA資料庫密碼@controller/nova
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = NOVA密碼
[vnc]
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
3.與資料庫資料進行同步
sudo su -s /bin/sh -c "nova-manage api_db sync" nova
sudo su -s /bin/sh -c "nova-manage db sync" nova
sudo service nova-api restart
sudo service nova-consoleauth restart
sudo service nova-scheduler restart
sudo service nova-conductor restart
sudo service nova-novncproxy restart
我明天會繼續往nova的運算主機安裝繼續講,因為今天的重點在於解說Nova的運作以及管理機的安裝部屬,如果說今天有人想要管理機和運算主機放在一起,我本人試過與明天的教程合併再一起即可,那今天我就先講到這邊,明天見啦。
希望大家可以在這一個月中讀到非常多的應用技巧,那如果有問題可以以私訊我的方式是使用問題回復,我會盡可能地回答問題,那會在後面統一做回覆,或者如果有想知道的相關的應用也可以提出討論喔。